1. Field of the Invention
The present invention relates to digital information storage, and more particularly, to a computer system and method for accessing a hidden and protected partition of a disk drive.
2. Description of the Prior Art
A disk drive provides a nonvolatile disk media for storage of user and application information under exclusive control of a host computer. During manufacture, the disk media is generally divided into a disk management partition and a general user partition. The disk management partition holds information, related to the configuration of the disk drive and the physical format of the disk media, that generally remains unaltered after the disk drive is shipped from the manufacturer. The disk management partition is accessed using commands commonly referred to as xe2x80x9cnativexe2x80x9d commands. The user partition is accessed using industry standard commands that specify the location of the information being accessed.
The general user partition must be partitioned into one or more logical drives and logically formatted before information is stored on it. The partitioning and formatting process generally destroys any existing information stored in the user partition.
Accordingly, there exists a need for a disk drive and related techniques that permit storage and later update of information that may not be deleted or destroyed during a subsequent logical partitioning and formatting process. The present invention satisfies this need.
The present invention may be embodied in a method for accessing data in a physical disk drive connectable to a host computer having an operating system which maintains a file system. The physical disk drive may report a user logical address range in relation to booting the host computer or configuring the operating system for maintaining the file system, and does not report a hidden logical address range in relation to booting the host computer or configuring the operating system. In the method, a virtual disk drive is created. The virtual disk drive has a virtual logical address range that is reported to the operating system for maintaining the file system. A driver program is invoked for relating addresses of storage locations in the virtual logical address range with addresses for storage locations in the hidden logical address range. The driver program is executed when the file system makes a disk request directed to accessing a file having an file address range associated with the virtual logical address range. The disk request is remapped from the virtual logical address range to the hidden logical address range. A command is transmitted to the physical disk drive to access data in the hidden logical address range for responding to the disk request.
In more detailed features of the invention, the driver program may provide a local device driver handle to an application program that invokes the driver program, and the invoking application program may provide a local application handle to the driver program for securing, to only the invoking application program, access to the data storage locations in the hidden logical address range. The invoking application program may transfer data between data storage locations in the user logical address range and data storage locations in the hidden logical address range using the virtual disk drive. Alternatively, the driver program may provide a driver process identification to an application program that invokes the driver program, and the invoking application program may provide an application process identification to the driver program for securing access to the data storage locations in the hidden logical address range.
In more detailed features of the invention, the physical disk drive may not be responsive to data access commands directed to the hidden logical address range until after the physical disk drive receives a command to open the hidden logical address range. Similarly, the physical disk drive may not be responsive to data access commands directed to the hidden logical address range after the physical disk drive receives a command to close the hidden logical address range. Also, the physical disk drive may not be responsive to data access commands directed to the hidden logical address range until after the physical disk drive receives a password for allowing access to the hidden logical address range.